import type { Translations } from 'fumadocs-ui/i18n'
import { defineI18n } from 'fumadocs-core/i18n'

export const i18n = defineI18n({
  defaultLanguage: 'en-US',
  languages: ['en-US', 'zh-CN', 'zh-TW', 'ja-JP'],
  hideLocale: 'always',
})

// translations
export const enUS: (Partial<Translations> & {
  displayName?: string
}) = {
  displayName: 'English',
  search: 'Search',
  searchNoResult: 'No results found',
  toc: 'Table of Contents',
  tocNoHeadings: 'No headings available',
  lastUpdate: 'Last updated',
  chooseLanguage: 'Choose language',
  nextPage: 'Next page',
  previousPage: 'Previous page',
  chooseTheme: 'Choose theme',
  editOnGithub: 'Edit on GitHub',
}

export const zhCN: typeof enUS = {
  displayName: '简体中文',
  search: '搜索',
  searchNoResult: '没有找到相关内容',
  toc: '目录',
  tocNoHeadings: '没有可用的目录',
  lastUpdate: '最后更新',
  chooseLanguage: '选择语言',
  nextPage: '下一页',
  previousPage: '上一页',
  chooseTheme: '选择主题',
  editOnGithub: '在 GitHub 上编辑',
}

export const zhTW: typeof enUS = {
  displayName: '繁體中文',
  search: '搜索',
  searchNoResult: '沒有找到相關內容',
  toc: '目錄',
  tocNoHeadings: '沒有可用的目錄',
  lastUpdate: '最後更新',
  chooseLanguage: '選擇語言',
  nextPage: '下一頁',
  previousPage: '上一頁',
  chooseTheme: '選擇主題',
  editOnGithub: '在 GitHub 上編輯',
}

export const jaJP: typeof enUS = {
  displayName: '日本語',
  search: '検索',
  searchNoResult: '関連するコンテンツが見つかりませんでした',
  toc: '目次',
  tocNoHeadings: '利用可能な目次がありません',
  lastUpdate: '最終更新',
  chooseLanguage: '言語を選択',
  nextPage: '次のページ',
  previousPage: '前のページ',
  chooseTheme: 'テーマを選択',
  editOnGithub: 'GitHub で編集',
}

export const translations: Record<string, Partial<Translations>> = {
  'en-US': enUS,
  'zh-CN': zhCN,
  'zh-TW': zhTW,
  'ja-JP': jaJP,
}

/**
 * ==================== Custom Translations ====================
 * These translations are used for specific components or pages
 * and can be extended or modified as needed.
 * =============================================================
 */

const customZhCN = {
  'home.slogan': '重塑工作流的全栈嵌入工具',
  'home.description': 'Univer 是一个前后端同构的全栈办公套件，具有高扩展性和高性能，旨在帮助开发者自由构建和编辑',
  'home.description.split': '、',
  'home.description.period': '。',
  'home.description.and': '和',
  'home.description.sheets': '电子表格',
  'home.description.docs': '文档',
  'home.description.slides': '演示文稿',
  'home.customer.title': 'Univer 为各行业团队与公司赋能，提升工作效率',
  'home.features.conbination.title': '丰富插件，塑造多元产品',
  'home.features.integration.title': '随处集成',
  'home.features.performance.title': '无与伦比的性能',
  'home.features.customizability.title': '一切皆可定制',
  'documentation.title': '文档',
  'ecosystem.title': '生态',
  'icons.title': 'Univer Icons',
  'icons.slogan': 'Univer 的图标库，提供丰富的图标资源',
  'showcase.title': '在线演示',
  'showcase.slogan': '通过案例，了解 Univer 的强大功能',
  'showcase.back': '返回',
  'blog.title': '博客',
  'blog.slogan': '在此探索 Univer 的新闻、架构和最佳实践',
  'blog.author': '作者',
  'blog.date': '发表日期',
  'blog.back': '返回',
  'banner.release': '已发布 →',
  'docs.header.edit-on-github': '在 GitHub 上编辑',
  'docs.feedback.question': '你觉得这篇文档如何？',
  'docs.feedback.good': '好',
  'docs.feedback.bad': '差',
  'docs.feedback.message': '请留下你的意见或建议',
  'docs.feedback.submit': '提交',
  'docs.feedback.thanks': '感谢你的反馈！',
  'docs.feedback.retry': '再次提交',
  'playground.click-to-show': '点击显示 demo',
  'playground.click-to-hide': '点击隐藏 demo',
}

const customZhTw = {
  'home.slogan': '重塑工作流的全棧嵌入工具',
  'home.description': 'Univer 是一個前後端同構的全棧辦公套件，具有高擴展性和高性能，旨在幫助開發者自由構建和編輯',
  'home.description.split': '、',
  'home.description.period': '。',
  'home.description.and': '和',
  'home.description.sheets': '電子表格',
  'home.description.docs': '文檔',
  'home.description.slides': '演示文稿',
  'home.customer.title': 'Univer 為各行業團隊與公司賦能，提升工作效率',
  'home.features.conbination.title': '豐富插件，塑造多元產品',
  'home.features.integration.title': '隨處集成',
  'home.features.performance.title': '無與倫比的性能',
  'home.features.customizability.title': '一切皆可定制',
  'documentation.title': '文檔',
  'ecosystem.title': '生態',
  'icons.title': 'Univer Icons',
  'icons.slogan': 'Univer 的圖標庫，提供豐富的圖標資源',
  'showcase.title': '在線演示',
  'showcase.slogan': '通過案例，了解 Univer 的強大功能',
  'showcase.back': '返回',
  'blog.title': '博客',
  'blog.slogan': '在此探索 Univer 的新聞、架構和最佳實踐',
  'blog.author': '作者',
  'blog.date': '發表日期',
  'blog.back': '返回',
  'banner.release': '已發布 →',
  'docs.header.edit-on-github': '在 GitHub 上编辑',
  'docs.feedback.question': '你觉得这篇文档如何？',
  'docs.feedback.good': '好',
  'docs.feedback.bad': '差',
  'docs.feedback.message': '请留下你的意见或建议',
  'docs.feedback.submit': '提交',
  'docs.feedback.thanks': '感谢你的反馈！',
  'docs.feedback.retry': '再次提交',
  'playground.click-to-show': '点击显示 demo',
  'playground.click-to-hide': '点击隐藏 demo',
}

const customEnUS: typeof customZhCN = {
  'home.slogan': 'Embedding server-driven productivity tools into Your Workflow',
  'home.description': 'Univer is a full-stack, isomorphic office suite with high extensibility and performance, designed to help developers build and edit ',
  'home.description.split': ', ',
  'home.description.period': ' freely.',
  'home.description.and': ' and ',
  'home.description.sheets': 'spreadsheets',
  'home.description.docs': 'documents',
  'home.description.slides': 'presentations',
  'home.customer.title': 'Trusted by teams and companies across industries',
  'home.features.conbination.title': 'Rich plugins for diverse products',
  'home.features.integration.title': 'Integration Anywhere',
  'home.features.performance.title': 'Unrivaled Performance',
  'home.features.customizability.title': 'Customize Everything',
  'documentation.title': 'Documentation',
  'ecosystem.title': 'Ecosystem',
  'icons.title': 'Univer Icons',
  'icons.slogan': 'An icon library for Univer, providing a rich set of icons',
  'showcase.title': 'Showcase',
  'showcase.slogan': 'Explore Univer\'s powerful features through online examples',
  'showcase.back': 'Back',
  'blog.title': 'Blog',
  'blog.slogan': 'Explore the latest news, architecture, and best practices of Univer',
  'blog.author': 'Author',
  'blog.date': 'Published Date',
  'blog.back': 'Back',
  'banner.release': 'has been released →',
  'docs.header.edit-on-github': 'Edit on GitHub',
  'docs.feedback.question': 'How is this guide?',
  'docs.feedback.good': 'Good',
  'docs.feedback.bad': 'Bad',
  'docs.feedback.message': 'Please leave your feedback or suggestions',
  'docs.feedback.submit': 'Submit',
  'docs.feedback.thanks': 'Thanks for your feedback!',
  'docs.feedback.retry': 'Submit Again',
  'playground.click-to-show': 'Click to show demo',
  'playground.click-to-hide': 'Click to hide demo',
}

const customJaJP: typeof customZhCN = {
  'home.slogan': 'あなたのワークフローに、サーバードリブンの生産性ツールを組み込もう。',
  'home.description': 'Univer は高い拡張性とパフォーマンスを備えたフルスタックのオフィススイートで、開発者が自由に構築および編集できるように設計されています。',
  'home.description.split': '、',
  'home.description.period': '。',
  'home.description.and': 'と',
  'home.description.sheets': 'スプレッドシート',
  'home.description.docs': 'ドキュメント',
  'home.description.slides': 'プレゼンテーション',
  'home.customer.title': '業界を問わず、チームと企業に信頼されています',
  'home.features.conbination.title': '多様な製品のための豊富なプラグイン',
  'home.features.integration.title': 'どこでも統合',
  'home.features.performance.title': '比類のないパフォーマンス',
  'home.features.customizability.title': 'すべてをカスタマイズ',
  'documentation.title': 'ドキュメント',
  'ecosystem.title': 'エコシステム',
  'icons.title': 'Univer Icons',
  'icons.slogan': 'Univer のアイコンライブラリで、豊富なアイコンリソースを提供します',
  'showcase.title': 'ショーケース',
  'showcase.slogan': 'オンライン例を通じて Univer の強力な機能を探求します',
  'showcase.back': '戻る',
  'blog.title': 'ブログ',
  'blog.slogan': 'Univer の最新ニュース、アーキテクチャ、ベストプラクティスを探求します',
  'blog.author': '著者',
  'blog.date': '公開日',
  'blog.back': '戻る',
  'banner.release': 'がリリースされました →',
  'docs.header.edit-on-github': 'GitHub で編集',
  'docs.feedback.question': 'このガイドはいかがですか？',
  'docs.feedback.good': '良い',
  'docs.feedback.bad': '悪い',
  'docs.feedback.message': 'フィードバックや提案をお聞かせください',
  'docs.feedback.submit': '送信',
  'docs.feedback.thanks': 'フィードバックありがとうございます！',
  'docs.feedback.retry': '再度送信',
  'playground.click-to-show': 'デモを表示するにはクリック',
  'playground.click-to-hide': 'デモを非表示にするにはクリック',
}

export const customTranslations: Record<string, Record<string, string>> = {
  'zh-CN': customZhCN,
  'zh-TW': customZhTw,
  'en-US': customEnUS,
  'ja-JP': customJaJP,
}
